package com.zy.mc_module.ui.micang;

import com.zy.mc_module.mvp.base.BaseModel;
import com.zy.mc_module.mvp.base.IView;
import com.zy.mc_module.mvp.bean.MasterLevelBean;
import com.zy.mc_module.mvp.bean.PageBean;
import com.zy.mc_module.mvp.bean.RiceDetailBean;
import com.zy.mc_module.mvp.bean.RiceStoreHouseBean;
import com.zy.mc_module.mvp.bean.TeamMemberBean;
import com.zy.mc_module.mvp.bean.UserActiveBean;
import com.zy.mc_module.mvp.bean.UserBean;
import com.zy.mc_module.mvp.bean.UserExperienceBean;
import com.zy.mc_module.mvp.bean.UserTaskCount;
import com.zy.mc_module.utils.retrofit.error.ThdException;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import retrofit2.http.Body;

public interface RiceContract {
    interface Model extends BaseModel{

        Observable<UserBean.UserMemberInfo> getUserBaseInfo();

        Observable<PageBean<TeamMemberBean>> getMyTeamMember();

        Observable<UserTaskCount> userTaskCount();

        Observable<List<RiceStoreHouseBean>> riceStoreHouseFindAll();

        Observable<PageBean<RiceStoreHouseBean>> getUserRiceStoreList(int state,int page);

        Observable<PageBean<RiceDetailBean>> userAccountRecord(int page);

        Observable<PageBean<UserActiveBean>> userActiveRecordPage(int page);

        Observable<PageBean<UserExperienceBean>> rewardExperienceUser(int page);

        Observable<List<MasterLevelBean>> masterList();

    }

    interface View extends IView{
        <T> void onSuccess(T t,int type);

        void onError(ThdException error,int type);
    }
}
